package po.coursepo;

import java.io.Serializable;
import java.rmi.RemoteException;

import Enum.CourseType;
import Enum.Cycle;
import Enum.Faculty;
import Enum.Module;
import Enum.Term;
import po.coursepo.Course;

public class Course implements Serializable {

	String courseName;
	String tchName;
	CourseID courseId;
	ClassTime classTime;
	Classroom classroom;
	String breifIntro, coursePlan;
	Faculty faculty;
	int credit;
	Module module;
	Cycle cycle;
	Term term;
	CourseType type;
	int maxNumber;

	public Course(CourseID id, String courseN, String tchN, ClassTime classT,
			Classroom classR, String i, int c, String p, Faculty f,
			Module module, Cycle cycle, Term term, CourseType type,
			int maxNumber) throws RemoteException {
		courseId = id;
		courseName = courseN;
		tchName = tchN;
		classTime = classT;
		classroom = classR;
		breifIntro = i;
		credit = c;
		coursePlan = p;
		this.module = module;
		this.cycle = cycle;
		this.term = term;
		this.type = type;
		this.faculty = f;
		this.maxNumber = maxNumber;
	}

	// public CourseID getCourseId() throws RemoteException{
	// return courseId;
	// }

	public String getCourseName() throws RemoteException {
		return courseName;
	}

	public String getTchName() throws RemoteException {
		return tchName;
	}

	public Classroom getClassroom() throws RemoteException {
		return classroom;
	}

	public ClassTime getClassTime() throws RemoteException {
		return classTime;
	}

	public String getBreifIntro() throws RemoteException {
		return breifIntro;
	}

	public int getCredit() throws RemoteException {
		return credit;
	}

	public String getPlan() throws RemoteException {
		return coursePlan;
	}

	public Faculty getFaculty() throws RemoteException {
		return faculty;
	}

	public CourseID getCourseId() throws RemoteException {
		return courseId;
	}

	public Module getModule() {
		return module;
	}

	public Term getTerm() {
		return term;
	}

	public Cycle getCycle() {
		return cycle;
	}

	public CourseType getCourseType() {
		return type;
	}

	public int getMaxNumber() {
		return maxNumber;
	}


	public void setID(CourseID courseID) {
		this.courseId = courseID;
	}

	public void setClassTime(ClassTime classTime) {
		this.classTime = classTime;
	}

	public void setClassRoom(Classroom classroom) {
		this.classroom = classroom;
	}
	
	public void setCredit(int credit) {
		this.credit=credit;
	}
	public void setCycle(Cycle cycle) {
		this.cycle=cycle;
	}

}
